#include <bits/stdc++.h>
using namespace std;

void solve() {
	int n, m, k;
	cin >> n >> m >> k;
	string s;
	cin >> s;
	s = ' ' + s;

	vector<vector<int>> adj(n + 1);
	for (int i = 1; i <= m; ++i) {
		int u, v;
		cin >> u >> v;
		adj[u].push_back(v);
	}

	vector<vector<int>> dp(n + 1, vector<int>(2 * k + 1, 0));
	for (int i = 1; i <= n; ++i) {
		dp[i][0] =(s[i] == 'A');
	}
	// 剩余步数（轮到谁）
	// 当 j 是偶数 (j % 2 == 0)：轮到 Alice 走。
	// 当 j 是奇数 (j % 2 == 1)：轮到 Bob 走。
	for (int j = 1; j <= 2 * k; j++) {
		int now = j % 2;
		// 循环顶点
		for (int u = 1; u <= n; u++) {
			if (now == 0) {
				bool ok = 0;
				for (auto v : adj[u]) {
					ok |= dp[v][j - 1];
				}
				dp[u][j] = ok;
			} else {
				bool ok = 1;
				for (auto v : adj[u]) {
					ok &= dp[v][j - 1];
				}
				dp[u][j] = ok;
			}
		}
	}

	cout << (dp[1][2 * k] ? "Alice" : "Bob") << endl;

}

int main() {
	ios::sync_with_stdio(false);
	cin.tie(nullptr);

	int T;
	if (!(cin >> T)) return 0;
	while (T--) {
		solve();
	}

	return 0;
}
